This section is intended to introduce the reader to various aspects of art, which relate to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Modern computer databases typically store immense amounts of data in one or more tables. For large databases, an index is used to speed up access. It takes a relatively long time to populate an index for later retrieval by a user. The time taken for a database to populate the index has an adverse impact on the performance of the database as a whole. If the database is populating an index table associated with a large number of objects, the time to create the index is seriously lengthened.
When the database includes spatial data in a base table, an index of the spatial data is created and referred to as a “spatial index table.” Spatial data is any data with a location component, such as the location characteristics of objects in relation to space (for example, latitude and longitude). A spatial index table is actually stored as a separate table within the database.
In a complex database environment, the population of the spatial index table is inefficient because the insertion of each new node or spatial object employs multiple accesses to the information stored on disk. Swapping of portions of the index, to memory decreases the efficiency of the system. Accordingly, populating a spatial index tends to be inefficient and slow for base tables having spatial objects because of redundant input and output operations performed to build the spatial index table.